package com.vhall.component.entity.export;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;


/**
 * @author dongsong
 */
@Data
@TableName("export")
@ApiModel(value = "ExportEntity对象", description = "导出信息表")
public class ExportEntity implements Serializable {

    private static final long serialVersionUID = 5190654267547766660L;

    @TableId(value = "id", type = IdType.AUTO)
    @JsonProperty("id")
    private Integer id;

    @ApiModelProperty(value = "直播ID")
    @TableField("il_id")
    @JsonProperty("il_id")
    private Integer ilId;

    @ApiModelProperty(value = "房间Id")
    @TableField("room_id")
    @JsonProperty("room_id")
    private String roomId;

    @ApiModelProperty(value = "操作人id")
    @TableField("account_id")
    @JsonProperty("account_id")
    private Integer accountId;

    @ApiModelProperty(value = "管理员id")
    @TableField("admin_id")
    @JsonProperty("admin_id")
    private Integer adminId;

    @ApiModelProperty(value = "业务类型")
    @TableField("type")
    private Integer type;

    @ApiModelProperty(value = "三方资源标识id 问卷 考试 投票 问答 等")
    @TableField("source_id")
    @JsonProperty("source_id")
    private String sourceId;

    @ApiModelProperty(value = "文件名")
    @TableField("file_name")
    @JsonProperty("file_name")
    private String fileName;

    @ApiModelProperty(value = "标题")
    @TableField("title")
    @JsonProperty("title")
    private String title;

    @ApiModelProperty(value = "导出模块")
    @TableField("export")
    private String export;

    @ApiModelProperty(value = "参数")
    @TableField("params")
    private String params;

    @ApiModelProperty(value = "执行状态")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "文件类型")
    @TableField("ext")
    private String ext;

    @ApiModelProperty(value = "oss存储地址")
    @TableField("oss_file")
    @JsonProperty("oss_file")
    private String ossFile;

    @ApiModelProperty(value = "导出函数,命名规则:服务名:方法名")
    @TableField("callback")
    private String callback;

    @ApiModelProperty(value = "创建时间")
    @TableField("created_at")
    @JsonProperty("created_at")
    private LocalDateTime createdAt;

    @ApiModelProperty(value = "更新时间")
    @TableField("updated_at")
    @JsonProperty("updated_at")
    private LocalDateTime updatedAt;

    @ApiModelProperty(value = "删除时间")
    @TableField("deleted_at")
    @JsonProperty("deleted_at")
    private LocalDateTime deletedAt;

}
